<?php
/**
 * 观察者模式 - 行为发生者 抽象类
 * User: Yan
 * Date: 2018/7/5 0005
 * Time: 下午 10:28
 */
namespace Yan;

abstract class Gener
{
    /**
     * @var array $observer
     */
    private $observers;

    /**
     * 添加观察者
     * @param Observer $observer
     */
    public function addObserver(Observer $observer)
    {
        $this->observers[] = $observer;
    }

    /**
     * 每一个观察者都执行更新操作
     */
    public function notify($even_info = null)
    {
        foreach ($this->observers as $observer) {
            $observer->update($even_info);
        }
    }
}